package cn.source.system.service;

import cn.source.system.domain.SysCompany;

import java.util.List;

/**
 * 企业管理Service接口
 *
 * @author sourcebyte.vip
 * @date 2023-10-19
 */
public interface ISysCompanyService {
    /**
     * 查询企业管理
     *
     * @param id 企业管理主键
     * @return 企业管理
     */
    public SysCompany selectSysCompanyById(Long id);

    /**
     * 查询企业管理列表
     *
     * @param sysCompany 企业管理
     * @return 企业管理集合
     */
    public List<SysCompany> selectSysCompanyList(SysCompany sysCompany);

    /**
     * 新增企业管理
     *
     * @param sysCompany 企业管理
     * @return 结果
     */
    public int insertSysCompany(SysCompany sysCompany);

    /**
     * 修改企业管理
     *
     * @param sysCompany 企业管理
     * @return 结果
     */
    public int updateSysCompany(SysCompany sysCompany);

    /**
     * 批量删除企业管理
     *
     * @param ids 需要删除的企业管理主键集合
     * @return 结果
     */
    public int deleteSysCompanyByIds(Long[] ids);

    /**
     * 新增企业菜单
     */
    public int insertCompanyMenu(Long companyId, Long[] menuIds);

    /**
     * 根据企业ID查询菜单树信息
     *
     * @param companyId 企业ID
     * @return 选中菜单列表
     */
    public List<Long> selectMenuListByCompanyId(Long companyId);

    /**
     * 企业授权
     */
    public int agentSysCompany(SysCompany sysCompany);
}
